This invention relates to interfaces between apparati in general and to computer communications buses in particular.
An interface is a definition, as well as an embodiment of that definition, of how an apparatus interacts with another apparatus. An example of an interface is a computer communications bus, which defines how devices that are connected to the bus communicate with each other across the bus.
Over time, interfaces tend to become obsolete, inadequate for present needs. For example, a computer bus that supports only 14-bit addresses may have been adequate when computer memories were relatively small (e.g., 16 Kbytes), as was the number of devices interconnected by the bus, but is inadequate today when computer memories and the numbers of interconnected devices must be expanded to be relatively large (e.g., 4 Gbytes of memory) and hence require a greater range (e.g., 32 bits) of addresses. One approach to solving this problem is to throw away the now-obsolete interface design and come up with a new one. But this makes the entire system that is built around the interface obsolete. Not only must the interface be redesigned and replaced, but the controller for that interface and the apparatuses that used the old interface must also be replaced. This is a very undesirable, expensive, often economically unfeasible thing to do. Another approach is to use any spare, unused, capacity of the existing interface to extend the capabilities of the interface. However, in some cases, there does not exist any such suitable spare capacity.
This invention is directed to solving these and other problems and disadvantages of the prior art. Generally according to the invention, a first device couples to a second and a third device, for example, via a physical connection (e.g., a bus) that is common to all three of the devices. The second device presents a first interface (e.g., uses a first protocol) over the connection, while the third device presents a second interface (e.g., uses a second protocol) different from the first interface over the connection. The second interface provides capabilities different from (e.g., additional to, or that cannot be provided by) those provided by the first interface. The first device has an interface arrangement that effects and presents the first interface to the second device on the connection and effects and presents the second interface to the third device on the connection.
An advantage of this approach is that it allows one to design new devices which fit into an existing bus structure, but which can communicate at a higher data rate or with a different bus configuration (increase address, data, etc.). This also allows one to keep existing devices in the system, and more importantly, it preserves the existing system backplanes and carriers. The old devices ignore the new bus accesses, while continuing to accept the old ones. The new devices either accept the new style accesses only, or support a mixture of both, so that software can be reused if the device is a replacement for an older device which accepted old-style accesses only.
Preferably, the first device has a way of signalling use of the second interface to the third device. Illustratively, this involves sending across the connection a signal that is either not used or not recognized by the first interface, or sending a signal across a signal lead of the connection that is not used by the first interface. This tells the third device whether to communicate using the first or the second interface.
Also illustratively, the connection is a communications bus that has a plurality of signal lines for conducting a first set of signals (a first protocol), including critical control signal lines for conducting critical control signals of the first set of signals. The first device transmits or receives the first set of signals on the signal lines, including transmitting and receiving the control signals on the control signal lines. The first device also transmits or receives a second set of signals (a second protocol) including control signals, on the signal lines other than the critical control signal lines for the first protocol. Leaving the critical control signal lines for the first protocol of the connection idle in the latter case ensures that devices which communicate via the first set of signals (the first interface) remain oblivious to the communications via the second set of signals (the second interface).
These and other features and advantages of the invention will become more apparent from the following description of an illustrative embodiment of the invention taken together with the drawing.